Resource StructureDefinition/FHIR Server from package ehealth4u.package#1.0.0 (78 ms)
Resources that use this resource
Resources that this resource uses
Source
{
"resourceType" : "StructureDefinition",
"id" : "cyehr-sd-consumptionofalcohol",
"url" : "http://ig.ehealth4u.eu/fhir/StructureDefinition/cyehr-sd-consumptionofalcohol",
"name" : "CYEHRSDConsumptionOfAlcohol",
"title" : "Cyprus EHR Consumption of Alcohol",
"status" : "draft",
"publisher" : "eHealth4U",
"contact" : [
{
"name" : "eHealth Lab (University of Cyprus)",
"telecom" : [
{
"system" : "email",
"value" : "ehealthl@ucy.ac.cy",
"use" : "work"
}
]
}
],
"fhirVersion" : "4.0.1",
"kind" : "resource",
"abstract" : false,
"type" : "Observation",
"baseDefinition" : "http://ig.ehealth4u.eu/fhir/StructureDefinition/cyehr-sd-socialhistory",
"derivation" : "constraint",
"differential" : {
"element" : [
{
"id" : "Observation",
"path" : "Observation",
"condition" : [
"cyehr-consumptionofalcohol-1"
],
"constraint" : [
{
"key" : "cyehr-consumptionofalcohol-1",
"severity" : "error",
"human" : "If value is \"Non - drinker\" or \"Lifetime non-drinker of alcohol\" then the amount shall not be recorded. The \"alcoholType\" cannot be recorded alone because the cardinality of component.code is 1..1.",
"expression" : "Observation.valueCodeableConcept.coding.where(code='105542008' or code='783261004').exists() implies Observation.component.code.coding.where(code='74013-4').exists().not()"
}
]
},
{
"id" : "Observation.meta",
"path" : "Observation.meta"
},
{
"id" : "Observation.meta.profile",
"path" : "Observation.meta.profile",
"slicing" : {
"discriminator" : [
{
"type" : "value",
"path" : "$this"
}
],
"rules" : "open"
},
"min" : 1
},
{
"id" : "Observation.meta.profile:CyprusEHRProfile",
"path" : "Observation.meta.profile",
"sliceName" : "CyprusEHRProfile",
"min" : 1,
"max" : "1",
"fixedCanonical" : "http://ig.ehealth4u.eu/fhir/StructureDefinition/cyehr-sd-consumptionofalcohol"
},
{
"id" : "Observation.status",
"path" : "Observation.status",
"fixedCode" : "final",
"mustSupport" : true
},
{
"id" : "Observation.category:SHCat",
"path" : "Observation.category",
"sliceName" : "SHCat"
},
{
"id" : "Observation.category:SHCat.coding",
"path" : "Observation.category.coding",
"min" : 1
},
{
"id" : "Observation.code",
"path" : "Observation.code",
"patternCodeableConcept" : {
"coding" : [
{
"system" : "http://loinc.org",
"code" : "80439-3"
}
]
},
"mustSupport" : true
},
{
"id" : "Observation.code.coding",
"path" : "Observation.code.coding",
"comment" : "Codes may be defined very casually in enumerations or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information.\r\n\r\nCyprus EHR: display: \"Finding relating to alcohol drinking behavior\"",
"min" : 1
},
{
"id" : "Observation.subject.reference",
"path" : "Observation.subject.reference",
"min" : 1
},
{
"id" : "Observation.focus",
"path" : "Observation.focus",
"comment" : "Typically, an observation is made about the subject - a patient, or group of patients, location, or device - and the distinction between the subject and what is directly measured for an observation is specified in the observation code itself ( e.g., \"Blood Glucose\") and does not need to be represented separately using this element. Use `specimen` if a reference to a specimen is required. If a code is required instead of a resource use either `bodysite` for bodysites or the standard extension [focusCode](extension-observation-focuscode.html).\r\n\r\nCyprusEHR: Not to be used in the context of Cyprus EHR."
},
{
"id" : "Observation.encounter",
"path" : "Observation.encounter",
"mustSupport" : true
},
{
"id" : "Observation.encounter.reference",
"path" : "Observation.encounter.reference",
"min" : 1
},
{
"id" : "Observation.effective[x]",
"path" : "Observation.effective[x]",
"slicing" : {
"discriminator" : [
{
"type" : "type",
"path" : "$this"
}
],
"rules" : "open"
},
"comment" : "At least a date should be present unless this observation is a historical report. For recording imprecise or \"fuzzy\" times (For example, a blood glucose measurement taken \"after breakfast\") use the [Timing](datatypes.html#timing) datatype which allow the measurement to be tied to regular life events.\r\n\r\nCyprusEHR: effectivePeriod shall be used for Cyprus EHR system. However, IPS requires dateTime. When sending an IPS for a Cyprus EHR registered patient, the effectivePeriod.start shall be used as effectiveDateTime. Accordingly, when receiving an IPS from a different organization, the effectivePeriod.start will be equal to the effectiveDateTime.",
"type" : [
{
"code" : "dateTime"
},
{
"code" : "Period"
}
],
"mustSupport" : true
},
{
"id" : "Observation.effective[x]:effectivePeriod",
"path" : "Observation.effective[x]",
"sliceName" : "effectivePeriod",
"type" : [
{
"code" : "Period"
}
],
"mustSupport" : true
},
{
"id" : "Observation.effective[x]:effectiveDateTime",
"path" : "Observation.effective[x]",
"sliceName" : "effectiveDateTime",
"comment" : "At least a date should be present unless this observation is a historical report. For recording imprecise or \"fuzzy\" times (For example, a blood glucose measurement taken \"after breakfast\") use the [Timing](datatypes.html#timing) datatype which allow the measurement to be tied to regular life events.\r\n\r\nCyprusEHR: effectivePeriod shall be used for Cyprus EHR system. However, IPS requires dateTime. When sending an IPS for a Cyprus EHR registered patient, the effectivePeriod.start shall be used as effectiveDateTime. Accordingly, when receiving an IPS from a different organization, the effectivePeriod.start will be equal to the effectiveDateTime.",
"type" : [
{
"code" : "dateTime"
}
]
},
{
"id" : "Observation.performer.reference",
"path" : "Observation.performer.reference",
"min" : 1
},
{
"id" : "Observation.value[x]",
"path" : "Observation.value[x]",
"slicing" : {
"discriminator" : [
{
"type" : "type",
"path" : "$this"
}
],
"rules" : "open"
},
"comment" : "Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.\r\n\r\nCyprusEHR: valueCodeableConcept shall be used to define the alcohol drinking behaviour of the patient. If the status defines that the patient is an alcohol drinker, then the component shall be used to define the alcohol type and the alcohol consumption quantity. valueQuantity shall be used for IPS creation where observation.valueQuantity = observation.component.valueQuantity",
"min" : 1,
"type" : [
{
"code" : "Quantity"
},
{
"code" : "CodeableConcept"
}
]
},
{
"id" : "Observation.value[x]:valueCodeableConcept",
"path" : "Observation.value[x]",
"sliceName" : "valueCodeableConcept",
"type" : [
{
"code" : "CodeableConcept"
}
],
"mustSupport" : true,
"binding" : {
"strength" : "required",
"valueSet" : "http://ig.ehealth4u.eu/fhir/ValueSet/cyehr-vs-alcoholstatus"
}
},
{
"id" : "Observation.value[x]:valueCodeableConcept.coding",
"path" : "Observation.value[x].coding",
"min" : 1,
"max" : "1"
},
{
"id" : "Observation.value[x]:valueCodeableConcept.coding.system",
"path" : "Observation.value[x].coding.system",
"min" : 1
},
{
"id" : "Observation.value[x]:valueCodeableConcept.coding.code",
"path" : "Observation.value[x].coding.code",
"min" : 1
},
{
"id" : "Observation.value[x]:valueCodeableConcept.coding.display",
"path" : "Observation.value[x].coding.display",
"min" : 1
},
{
"id" : "Observation.value[x]:valueQuantity",
"path" : "Observation.value[x]",
"sliceName" : "valueQuantity",
"type" : [
{
"code" : "Quantity"
}
]
},
{
"id" : "Observation.value[x]:valueQuantity.value",
"path" : "Observation.value[x].value",
"min" : 1
},
{
"id" : "Observation.value[x]:valueQuantity.code",
"path" : "Observation.value[x].code",
"min" : 1
},
{
"id" : "Observation.dataAbsentReason",
"path" : "Observation.dataAbsentReason",
"comment" : "Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.\r\n\r\nCyprusEHR: Not to be used in the context of Cyprus EHR."
},
{
"id" : "Observation.interpretation",
"path" : "Observation.interpretation",
"comment" : "Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.\r\n\r\nCyprusEHR: Not to be used in the context of Cyprus EHR."
},
{
"id" : "Observation.note",
"path" : "Observation.note",
"comment" : "May include general statements about the observation, or statements about significant, unexpected or unreliable results values, or information about its source when relevant to its interpretation.\r\n\r\nCyprusEHR: Not to be used in the context of Cyprus EHR."
},
{
"id" : "Observation.bodySite",
"path" : "Observation.bodySite",
"comment" : "Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.\r\n\r\nCyprusEHR: Not to be used in the context of Cyprus EHR."
},
{
"id" : "Observation.method",
"path" : "Observation.method",
"comment" : "Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.\r\n\r\nCyprusEHR: Not to be used in the context of Cyprus EHR."
},
{
"id" : "Observation.specimen",
"path" : "Observation.specimen",
"comment" : "Should only be used if not implicit in code found in `Observation.code`. Observations are not made on specimens themselves; they are made on a subject, but in many cases by the means of a specimen. Note that although specimens are often involved, they are not always tracked and reported explicitly. Also note that observation resources may be used in contexts that track the specimen explicitly (e.g. Diagnostic Report).\r\n\r\nCyprusEHR: Not to be used in the context of Cyprus EHR."
},
{
"id" : "Observation.device",
"path" : "Observation.device",
"comment" : "Note that this is not meant to represent a device involved in the transmission of the result, e.g., a gateway. Such devices may be documented using the Provenance resource where relevant.\r\n\r\nCyprusEHR: Not to be used in the context of Cyprus EHR."
},
{
"id" : "Observation.referenceRange",
"path" : "Observation.referenceRange",
"comment" : "Most observations only have one generic reference range. Systems MAY choose to restrict to only supplying the relevant reference range based on knowledge about the patient (e.g., specific to the patient's age, gender, weight and other factors), but this might not be possible or appropriate. Whenever more than one reference range is supplied, the differences between them SHOULD be provided in the reference range and/or age properties.\r\n\r\nCyprusEHR: Not to be used in the context of Cyprus EHR."
},
{
"id" : "Observation.hasMember",
"path" : "Observation.hasMember",
"comment" : "When using this element, an observation will typically have either a value or a set of related resources, although both may be present in some cases. For a discussion on the ways Observations can assembled in groups together, see [Notes](observation.html#obsgrouping) below. Note that a system may calculate results from [QuestionnaireResponse](questionnaireresponse.html) into a final score and represent the score as an Observation.\r\n\r\nCyprusEHR: Not to be used in the context of Cyprus EHR."
},
{
"id" : "Observation.derivedFrom",
"path" : "Observation.derivedFrom",
"comment" : "All the reference choices that are listed in this element can represent clinical observations and other measurements that may be the source for a derived value. The most common reference will be another Observation. For a discussion on the ways Observations can assembled in groups together, see [Notes](observation.html#obsgrouping) below.\r\n\r\nCyprusEHR: Not to be used in the context of Cyprus EHR."
},
{
"id" : "Observation.component",
"path" : "Observation.component",
"slicing" : {
"discriminator" : [
{
"type" : "pattern",
"path" : "code"
}
],
"rules" : "open"
}
},
{
"id" : "Observation.component.code",
"path" : "Observation.component.code",
"mustSupport" : true
},
{
"id" : "Observation.component.dataAbsentReason",
"path" : "Observation.component.dataAbsentReason",
"comment" : "Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.\r\n\r\nCyprusEHR: Not to be used in the context of Cyprus EHR."
},
{
"id" : "Observation.component.interpretation",
"path" : "Observation.component.interpretation",
"comment" : "Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.\r\n\r\nCyprusEHR: Not to be used in the context of Cyprus EHR."
},
{
"id" : "Observation.component.referenceRange",
"path" : "Observation.component.referenceRange",
"comment" : "Most observations only have one generic reference range. Systems MAY choose to restrict to only supplying the relevant reference range based on knowledge about the patient (e.g., specific to the patient's age, gender, weight and other factors), but this might not be possible or appropriate. Whenever more than one reference range is supplied, the differences between them SHOULD be provided in the reference range and/or age properties.\r\n\r\nCyprusEHR: Not to be used in the context of Cyprus EHR."
},
{
"id" : "Observation.component:alcoholIntake",
"path" : "Observation.component",
"sliceName" : "alcoholIntake",
"comment" : "For a discussion on the ways Observations can be assembled in groups together see [Notes](observation.html#notes) below.\r\n\r\nCyprusEHR: \r\n- Currently, only one alcoholIntake can be recorded for each instance of this profile. In the case that the patient drinks more than one alcoholic beverages in the same effective period, then multiple instances must be created (one per each alcoholic beverage). This might change in the future so that many alcoholIntake components can be recorded for the same effective period.\r\n- When sending an IPS, the component:alcoholIntake.code and .Quantityvalue shall be written as Observation.code and Observation.valueQuantity correspondingly. If for an example there is no component (cardinality = 0) then it should be considered that there is not any available \"alcohol use\" observation for IPS.",
"max" : "1",
"mustSupport" : true
},
{
"id" : "Observation.component:alcoholIntake.extension",
"path" : "Observation.component.extension",
"slicing" : {
"discriminator" : [
{
"type" : "value",
"path" : "url"
}
],
"rules" : "open"
},
"min" : 0
},
{
"id" : "Observation.component:alcoholIntake.extension:alcoholType",
"path" : "Observation.component.extension",
"sliceName" : "alcoholType",
"min" : 0,
"max" : "1",
"type" : [
{
"code" : "Extension",
"profile" : [
"http://ig.ehealth4u.eu/fhir/StructureDefinition/cyehr-ext-alcoholtype"
]
}
],
"mustSupport" : true,
"isModifier" : false
},
{
"id" : "Observation.component:alcoholIntake.extension:alcoholType.value[x]",
"path" : "Observation.component.extension.value[x]",
"min" : 1
},
{
"id" : "Observation.component:alcoholIntake.extension:alcoholType.value[x].coding",
"path" : "Observation.component.extension.value[x].coding",
"max" : "1"
},
{
"id" : "Observation.component:alcoholIntake.extension:alcoholType.value[x].coding.system",
"path" : "Observation.component.extension.value[x].coding.system",
"min" : 1
},
{
"id" : "Observation.component:alcoholIntake.extension:alcoholType.value[x].coding.code",
"path" : "Observation.component.extension.value[x].coding.code",
"min" : 1
},
{
"id" : "Observation.component:alcoholIntake.extension:alcoholType.value[x].coding.display",
"path" : "Observation.component.extension.value[x].coding.display",
"min" : 1
},
{
"id" : "Observation.component:alcoholIntake.code",
"path" : "Observation.component.code",
"patternCodeableConcept" : {
"coding" : [
{
"system" : "http://loinc.org",
"code" : "74013-4"
}
]
}
},
{
"id" : "Observation.component:alcoholIntake.code.coding",
"path" : "Observation.component.code.coding",
"min" : 1
},
{
"id" : "Observation.component:alcoholIntake.value[x]",
"path" : "Observation.component.value[x]",
"min" : 1,
"type" : [
{
"code" : "Quantity"
}
],
"patternQuantity" : {
"system" : "http://unitsofmeasure.org"
}
},
{
"id" : "Observation.component:alcoholIntake.value[x].value",
"path" : "Observation.component.value[x].value",
"min" : 1
},
{
"id" : "Observation.component:alcoholIntake.value[x].system",
"path" : "Observation.component.value[x].system",
"min" : 1
},
{
"id" : "Observation.component:alcoholIntake.value[x].code",
"path" : "Observation.component.value[x].code",
"comment" : "The preferred system is UCUM, but SNOMED CT can also be used (for customary units) or ISO 4217 for currency. The context of use may additionally require a code from a particular system.\r\n\r\nCyprusEHR: Use only codes that represent the \"per day\" unit (include the characters \"/d\")",
"min" : 1
}
]
},
"text" : {
}
}
XIG built as of ??metadata-date??. Found ??metadata-resources?? resources in ??metadata-packages?? packages.